Checking SRAM,FLASH,EEPROM used on AVR
================================
avr-size -C --mcu=atmega328p -x main.elf

see also jeelabs post about freeRam and checking stack




Circuit on breadboard:
===============================
See fritzing diagram.

10k or 25k resistor between 5v and reset

some cap, 200uf between iscp ftdi and reset
give room in case extra capacitance needed 


pin D2 (PD2) directly connected to reset.

if you test pinhigh / pinlow commands with wget, to a url, beware that the wget will continually request 
I fixed this by setting it to reset (in api parsing analyse url) only when the server response has been given.
seems the client will continually expect a response unless one is given. you can't even telnet 192.168.1.10/ then GET / HTTP1/0 something
without the underlying network code continously asking for the response

wget "http://192.168.1.11/api?password=Peach&s1=192&s2=168&s3=1&s4=12&n1=255&n2=255&n3=255&n4=0&g1=192&g2=168&g3=1&g4=1"








SSH PORT FORWARDING
================================
you specify local machine first, then remote host after

if you want to forward to lan you must specify either * or 0.0.0.0

e.g.

ssh -L 0.0.0.0:1333:localhost:80 -v -p 33333 serveruser@IPADDRESS

first entry is your local machine
second entry is the remote machine

you are taking localhost from remote machine and putting it for everyone on lan at 1333







Callback function:
=============================
this gets called when the datafill doesn't work.
so if datafill works, and submits packet, then callback function printf doesn't get printed.
